package com.ayoka.parenting.ui.mine;

import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;

import com.ayoka.parenting.bean.GrownPathBean;
import com.ayoka.parenting.bean.PagerBean;
import com.ayoka.parenting.bean.UserInfoDetailBean;
import com.ayoka.parenting.interf.RequestCallback;
import com.ayoka.parenting.mvp.BasePresenter;
import com.ayoka.parenting.mvp.BaseView;
import com.ayoka.parenting.ui.main.MainContract;

/**
 * @ProjectName: MVPPlugin.
 * @ClassName: MineContract.
 * @Description: .
 * @Author: jincp.
 * @CreateDate: 2019/10/10 18:17.
 */
public class MineContract {

    interface View extends BaseView {
        void onGetUserInformationCallback(boolean isSuccess);

        void configGrownPathListData(PagerBean<GrownPathBean> data);

        void onDialogDismiss(DialogFragment dialog);

        void openCoachHandBook();
    }

    interface Presenter extends BasePresenter<View> {
        void getUserInformation();

        void getGrownPathListData(boolean isShowWaitDialog, int pageNo, int pageSize);

        void showNotificationDialog(FragmentManager fragmentManager);
    }

    interface Model {
        void getUserInformation(BasePresenter presenter, RequestCallback<UserInfoDetailBean> callback);

        void getGrownPathListData(BasePresenter presenter, int pageNo, int pageSize, RequestCallback<PagerBean<GrownPathBean>> requestCallback);
    }
}
